Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How your phone can be tracked by your wallpaper (and other fingerprints)

3 views
Skip to first unread message

Andy Burnelli

unread,
Apr 26, 2022, 3:16:21 PM4/26/22
to
*Wallpaper ID* by Alexey Verkhovsky
free, ad free, gsf free, not rated, 100+ installs
<https://play.google.com/store/apps/details?id=com.fingerprintjs.android.wallpaperid>

When I solved how to change the unique Google Framework Services ID...
*Have you ever tried to CHANGE your unique GSF ID on your Android device?*
<https://groups.google.com/g/comp.mobile.android/c/Ixl2uMSLADc>

I researched _other_ fingerprinting & user identification techniques:
*Android Identification via Device Fingerprinting*
<https://fingerprintjs.com/blog/device-fingerprinting-android/>

One of which surprised me, which is you can be tracked by your wallpaper!
*How Android Wallpaper Images Can Threaten Your Privacy*
<https://fingerprintjs.com/blog/how-android-wallpaper-images-threaten-privacy/>
"Byte arrays can be used to restore original images from Android
wallpapers, which are highly likely to contain personal information
or details uniquely important to the user. Every app on your device
can view and download photos of your family, pets, favorite bands
or movies, and anything else you may have set as a wallpaper.
Moreover, you couldn't prevent them from doing so before Android 8.1."

Luckily, things changed with Android 8.1 based on this description:
"Starting with Android 8.1, the getDrawable() method requires the use
of READ_EXTERNAL_STORAGE, a less insecure but nonetheless risky
permission as it enables access to all media on a device
(and more privileged data)."

However... the set of "colors" can _still_ (apparently) give you away:
"After version 8.1, 144 bits can be extracted from wallpaper colors.
Both can be used as an ID, but let's use them instead as inputs
for the SHA-256 hash function (for unification)."

The end result being:
"We have an ID that contains 256 bits, is unique across all applications,
and only changes when the device wallpaper changes.

The code for getting the ID is:
val id = hasher.hash(
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O_MR1) {
extractWallpaperBytes()
} else extractColorsBytes())
The ID remains the same even after reinstalling the application
and only changes when the wallpaper changes."

What's a person to do?
Dunno (that's why I bring it up here as a question).

Me?
My wallpaper is black. But even _that_ was unique (at least in their db).

Is there a way to just _set_ a wallpaper to the color black instead of
taking a black picture to set the wallpaper to that picture you took?
--
Usenet is where friendly people daily gather to discuss topics of interest.
0 new messages